package com.escool.dao;

import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.escool.model.TbRotacionesHasActividad;
@Repository
public class RotacionActividadDAOImpl implements RotacionActividadDAO {
	
	@Autowired
	SessionFactory sessionFactory;

	@Override
	public void add(TbRotacionesHasActividad tbRotacionesHasActividad) {
		sessionFactory.getCurrentSession().save(tbRotacionesHasActividad);

	}

	@Override
	public void edit(TbRotacionesHasActividad tbRotacionesHasActividad) {
		sessionFactory.getCurrentSession().update(tbRotacionesHasActividad);

	}

	@Override
	public void delete(Integer id) {
		TbRotacionesHasActividad tbRotacionesHasActividad = (TbRotacionesHasActividad) sessionFactory.getCurrentSession().load(TbRotacionesHasActividad.class, id);
		if(tbRotacionesHasActividad != null){
			sessionFactory.getCurrentSession().delete(tbRotacionesHasActividad);
		}
	}

	@Override
	public List<TbRotacionesHasActividad> listAll() {
		
		return sessionFactory.getCurrentSession().createQuery("from TbRotacionesHasActividad").list();
	}

	@Override
	public TbRotacionesHasActividad findById(Integer id) {
		
		return (TbRotacionesHasActividad) sessionFactory.getCurrentSession().get(TbRotacionesHasActividad.class, id);
	}

	@Override
	public List<TbRotacionesHasActividad> listByRotacionesId(Integer id) {
		
		return sessionFactory.getCurrentSession().createQuery("from TbRotacionesHasActividad where tbRotaciones.idtbRotaciones="+id).list();
	}

	@Override
	public List<TbRotacionesHasActividad> listByRotacionesId(Integer id,
			char status) {
		// TODO Auto-generated method stub
		String hql = "from TbRotacionesHasActividad where tbRotaciones.idtbRotaciones="+id+" and cargado='"+status+"'";
		return sessionFactory.getCurrentSession().createQuery(hql).list();
	}

}
